#include <stdlib.h>
#include <stdio.h>

#define TAM_MATRIZ 4

typedef float tipo_matriz[TAM_MATRIZ][TAM_MATRIZ];

void le_matriz(float m[][TAM_MATRIZ], FILE * arq1){
  int i, j;

  for(i = 0; i < TAM_MATRIZ; i++) {
	for(j = 0; j < TAM_MATRIZ; j++) {
	  fscanf(arq1, "%f", &m[i][j]);
	}
  }
}

void main() {
  FILE * arq;
  char nome_arq[30];
  tipo_matriz m1, m2, m3;
  int i, j, k;

  printf("Entre com o nome do arquivo\n");
  scanf("%s", nome_arq);
  if((arq = fopen(nome_arq,"r")) != NULL) {
	le_matriz(m1, arq);
	le_matriz(m2, arq);
	for(i = 0; i < TAM_MATRIZ; i++) {
	  for(j = 0; j < TAM_MATRIZ; j++) {
		m3[i][j] = 0;
		for(k = 0; k < TAM_MATRIZ; k++) {
		  m3[i][j] = m3[i][j] + m1[i][k] * m2[k][j];
		}
	  }
	}
	for(i = 0; i < TAM_MATRIZ; i++) {
	  for(j = 0; j < TAM_MATRIZ; j++) {
		printf("%f ", m3[i][j]);
	  }
	  printf("\n");
	}
  }
}
